<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

<!--
  常用的运算符
  1. 算数运算符   +  -  *   /  %
  2. 赋值运算
  3. 比较运算符
  4.逻辑运算符
  5.位运算符
-->
<script>
    /*
    *    var 关键词定义变量变量名是可以重复
    *    let 关键词定义变量变量名是不可以重复
    * */
    let num1 = 1
    let num2 = 2

    let result = num1 + num2
    console.log(result)

    result = num1 - num2
    console.log(result)

    result = num1 * num2
    console.log(result)

    result = num1 / num2
    console.log(result)

    result = num1 % num2
    console.log(result)

    //  ++  递增   ++变量  先递增在参与运算   变量++   先参与运算在递增
    let num3 = 1
    // ++num3    //  等价  num = num + 1
    // console.log('++ >>',num3++)
    // console.log(num3)

    result = num2 + num3++      // 4   3
    console.log(num3)
    console.log(result)


    //  赋值运算    =
    num1 = 1
    num1 += 2   //  num1 = num1 +2
    console.log(num1)


    // 比较运算符   >   <    >=    <=
    num1 = 1
    num2 = '1'
    // result = num1 == num2   // 关注值是否相等  不关注类型  隐式数据类型转换
    result = num1 === num2   // 恒等   关注值是否相等同时关注类型
    console.log(result)

    // 三目运算     python   result = '成年'  if  age  > 18  else  '未成年'  javascript  表达式(布尔类型)  ? 值1：值2
    let age = 15
    result = age > 18 ? "成年" : "未成年"
    console.log(result)

    console.log('-------------------------------------------------')
    // 逻辑运算  &&  || ！  短路与   短路或
    let bool1 = true
    let bool2 = false
    num1 = 1

    result = bool2 && num1--
    console.log('num1:', num1)
    console.log(result)


    result = bool1 || bool2
    console.log(result)

    result = !bool1
    console.log(result)


    //  &  位运算
    num1 = 1
    num2 = 2
    result = num1 & num2
    console.log(result)

</script>
</body>
</html>
